package com.zwr.sheller.core.pojo;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import javax.persistence.*;
import java.sql.Timestamp;
import java.util.ArrayList;
import java.util.List;

/**
 * @author ljc
 * @date 2022/1/6
 **/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Table(name = "goods")
public class Goods {

    @Id
    @Column(name = "goods_id")
    private Long goodsId;

    @Column(name = "goods_sort")
    private Long goodsSort;

    @Column(name = "goods_name")
    private String goodsName;

    @Column(name = "goods_title")
    private String goodsTitle;

    @Column(name = "goods_keyWord")
    private String goodsKeyWord;

    @Column(name = "goods_firstItemId")
    private Long goodsFirstItemId;

    @Column(name = "goods_secondItemId")
    private Long goodsSecondItemId;

    @Column(name = "goods_thirdItemId")
    private Long goodsThirdItemId;

    @Column(name = "goods_unit")
    private String goodsUnit;

    @Column(name = "goods_label1")
    private String goodsLabel1;

    @Column(name = "goods_label2")
    private String goodsLabel2;

    @Column(name = "goods_label3")
    private String goodsLabel3;

    @Column(name = "goods_labelGroupId")
    private Long goodsLabelGroupId;

    @Column(name = "goods_mainImg")
    private String goodsMainImg;

    @Column(name = "goods_virtualSale")
    private Long goodsVirtualSale;

    @Column(name = "goods_deliver")
    private Double goodsDeliver;

    @Column(name = "goods_isOnShelf")
    private Integer goodsIsOnShelf;

    @Column(name = "goods_shelfStatus")
    private Boolean goodsShelfStatus;

    @Column(name = "goods_shelfTime")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Timestamp goodsShelfTime;

    @Column(name = "store_id")
    private Long storeId;

    @Column(name = "goods_desc")
    private String goodsDesc;

    @Column(name = "goods_isRecommend")
    private Boolean goodsIsRecommend;

    @Column(name = "goods_isDelete")
    private Boolean goodsIsDelete;

    @Column(name = "goodsGroupId")
    private Long goodsGroupId;

    @Column(name = "goods_warnStock")
    private Long goodsWarnStock;

    @Column(name = "goods_goodsBarCode")
    private Long goodsGoodsBarCode;

    private List<Sku> skuList;

    private List<Marketing> marketingList;

    private List<GoodsParam> goodsParamList;

    /**
     * 特色图
     */
    private List<Feature> featureList;
    /**
     * 商品详情图
     */
    private List<GoodsDetail> goodsDetailList;

    private List<AssociateGoods> associateGoodsList;





}
